/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package controller;

import dao.CalcadoDAO;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.AtributosMODEL;
import model.CalcadoMODEL;
import model.CalcadosFiltradosMODEL;
import model.FornecedorMODEL;

/**
 *
 * @author Welisson
 */
public class CalcadoController {
    public int salvar(int fornecedor, int categoria, String nome, String genero, 
            double valor, String detalhe, List<AtributosMODEL> atr){
        
        FornecedorMODEL fornId = new FornecedorMODEL();
        fornId.setId(fornecedor);
        
        CalcadoMODEL cal = new CalcadoMODEL(fornId, categoria, nome, genero, valor, detalhe);
        
        int id = -1;
        try {
            id = new CalcadoDAO().insert(cal, atr);
        } catch (SQLException ex) {
            ex.printStackTrace(System.out);
        }
        
        return id;
    }
    
    public boolean alterar(int id, FornecedorMODEL fornecedor, int categoria, String nome, String genero, 
            double valor, String detalhe, List<AtributosMODEL> atr){
        
        CalcadoMODEL cal = new CalcadoMODEL(id, fornecedor, categoria, nome, genero, valor, detalhe);
        
        try{
            return new CalcadoDAO().update(cal, atr);
            
        }catch(SQLException ex){
            ex.printStackTrace(System.out);
            return false;
        }
    }
    
    public boolean excluir(int id){
        try {
            return new CalcadoDAO().delete(id);
        } catch (SQLException ex) {
            ex.printStackTrace(System.out);
            return false;
        }
    }
    
    public List<CalcadoMODEL> listar(){
        try {
            return new CalcadoDAO().select();
        } catch (SQLException ex) {
            ex.printStackTrace(System.out);
        }
        return new ArrayList<CalcadoMODEL>();
    }

    public List<CalcadoMODEL> listarPorMarca(int marca){
        try {
            return new CalcadoDAO().selectByMarca(marca);
        } catch (SQLException ex) {
            ex.printStackTrace(System.out);
        }
        return new ArrayList<CalcadoMODEL>();
    }

    public List<CalcadosFiltradosMODEL> filtrar(String query, List<Object> dados) {
        
        try {
            return new CalcadoDAO().calcadosfilter(query, dados);
        } catch (SQLException ex) {
            ex.printStackTrace(System.out);
        }
        return new ArrayList<CalcadosFiltradosMODEL>();
    }

    
}
